<?php

class Style {

    private $_style;

    public function getStyle() {
        return $this->_style;
    }

    public function setStyle($style) {
        $this->_style = $style;
        return $this;
    }

    function __construct(array $donnees) {
        foreach ($donnees as $key => $value) {
            if (isset($donnees[$key][0]['__content__'])) {
                $donnees[$key] = $donnees[$key][0]['__content__'];
            } else {
                $donnees[$key] = $donnees[$key][0];
            }
        }
        $this->hydrate($donnees);
    }

    public function __toArray() {
        return array('genre' => $this->_style);
    }

    public function __toString() {
        return print_r($this->__toArray(), true);
    }

    public function hydrate(array $donnees) {
        foreach ($donnees as $key => $value) {
// On récupère le nom du setter correspondant à l'attribut.
            $method = 'set' . ucfirst($key);

// Si le setter correspondant existe.
            if (method_exists($this, $method)) {
// On appelle le setter.
                $this->$method($value);
            }
        }
    }

}

?>
